Storage apparatus, maintenance method of storage apparatus, and computer readable medium having maintenance program of storage apparatus

ABSTRACT

A storage apparatus includes at least one device insertion section, at least one robot, a replacement detection section, a first determination section, and a movement section. A device can be inserted into the device insertion section. The robot has a moving mechanism. The replacement detection section detects a start of the replacement of the device. When it is detected by the replacement detection section that the replacement of the device is started, the first determination section determines a position of the device insertion section at which the device is replaced. The movement section moves the robot so as to close an opening formed by removal of the device from the device insertion section based on the determination result of the first determination section.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is based upon and claims the benefit of priority of theprior Japanese Patent Application No. 2009-23304, filed on Feb. 4, 2009,the entire contents of which are incorporated herein by reference.

BACKGROUND

1. Field

Embodiment(s) described herein relate to a storage apparatus including aplurality of storage media for storing data, a device, and a robothaving a movement mechanism, a maintenance method of the storageapparatus, and a computer-readable medium having a maintenance programof the storage apparatus.

2. Description of the Related Art

Conventionally, in the maintenance work of devices, such as a driveincluded in a tape library apparatus, many techniques to improve workingefficiency have been used.

In a library computer system having a plurality of drives, a technique,in which a normal drive can be accessed even during repair of a faileddrive, is discussed, for example, in Japanese Patent Laid-Open No.09-082081. Further, a technique, in which in the active replacement of arobot of a tape library apparatus, a robot retreated to a garage due toa failure is detected, and in which a maintenance cover is opened andclosed by cutting off power, is discussed, for example, in JapanesePatent Laid-Open No. 2007-172735.

However, when maintenance work, such as drive replacement, is performedin the tape library apparatus, the operation of all the robots isstopped in order to prevent contact between an operator and the robot inoperation. Therefore, the robots are stopped for each maintenance work.As a result, even when an instruction requiring operation of the robotis issued from a host, the tape library apparatus cannot execute theinstruction, and thereby the working efficiency is lowered.

SUMMARY

According to an aspect of the invention, a storage apparatus includes atleast one device insertion section, at least one robot, a replacementdetection section, a first determination section, and a movementsection. A device can be inserted into the device insertion section. Therobot has a moving mechanism. The replacement detection section detectsthe start of the replacement of the device. When it is detected by thereplacement detection section that the replacement of the device isstarted, the first determination section determines a position of thedevice insertion section at which the device is replaced. The movementsection moves the robot so as to close an opening formed by a removal ofthe device from the device insertion section on the basis of thedetermination result of the first determination section.

The object and advantages of the invention will be realized and attainedby means of the elements and combinations particularly pointed out inthe claims. It is to be understood that both the foregoing generaldescription and the following detailed description are exemplary andexplanatory and are not restrictive of the invention, as claimed.

Additional aspects and/or advantages will be set forth in part in thedescription which follows and, in part, will be apparent from thedescription, or may be learned by practice of the invention.

BRIEF DESCRIPTION OF THE DRAWINGS

These and/or other aspects and advantages will become apparent and morereadily appreciated from the following description of the embodiments,taken in conjunction with the accompanying drawings of which:

FIG. 1 is a block diagram illustrating an example of a configuration ofa tape library apparatus according to an embodiment;

FIG. 2 is a diagram illustrating an example of function blocks of alibrary control section according to an embodiment;

FIG. 3 is a block diagram illustrating an example of a configuration ofa library control section according to an embodiment;

FIG. 4 is a flow chart illustrating an example of an operation ofmaintenance processing in a tape library apparatus according to anembodiment;

FIG. 5 is a block diagram illustrating an example of a configuration ofa tape library apparatus during a maintenance processing according to anembodiment;

FIG. 6 is a flow chart illustrating an example of an operation toprocess an instruction from a host in a tape library apparatus during amaintenance process according to an embodiment;

FIG. 7 is a diagram illustrating an example of a sequence from a startto an end of a maintenance processing performed between an operator, ahost, and a tape library apparatus;

FIG. 8 is a diagram representing position coordinates of hands of robotsin a tape library apparatus according to an embodiment;

FIG. 9 is a flow chart illustrating an example of an operation of driveprocessing in a tape library apparatus during a maintenance processingaccording to an embodiment;

FIG. 10 is a diagram illustrating a state where a cell to be accessed ison the same straight line as a horizontal axis of a hand of a standbyrobot in the tape library apparatus during a maintenance processingaccording to an embodiment;

FIG. 11 is a diagram illustrating an example of a computer system towhich an embodiment is applied; and

FIG. 12 is a diagram illustrating an example of a hardware configurationof a main body section in a computer system.

DETAILED DESCRIPTION

Reference will now be made in detail to the embodiments, examples ofwhich are illustrated in the accompanying drawings, wherein likereference numerals refer to the like elements throughout. Theembodiments are described below to explain the present invention byreferring to the figures.

In the following, an embodiment according to the present invention willbe described with reference to the accompanying drawings.

A configuration of a tape library apparatus according to an embodimentwill be described with reference to FIGS. 1 to 3.

FIG. 1 is a block diagram illustrating an example of a configuration ofa tape library apparatus according to an embodiment. As illustrated inFIG. 1, a tape library apparatus 1 includes a library control section11, an operator panel 12, drives 13A to 13E (devices), load ports 131Ato 131E (device insertion sections), an upper stage robot controlsection 14A, a lower stage robot control section 14B, an upper stagerobot 15A, a lower stage robot 15B, a cell 16 (storage section), anupper stage standby cell 16A, and a lower stage standby cell 16B.Further, the tape library apparatus 1 is connected to a host 2.

The library control section 11 performs overall control of the tapelibrary apparatus 1. Note that the detail of the library control section11 is described in detail below.

The operator panel 12 may be a touch panel type device with which anoperator can manually perform control, and the like, of the tape libraryapparatus 1. Further, with the operator panel 12, the operator canconfirm information about the tape library apparatus 1, such asinformation on what kind of cartridge is stored in the cell 16, andinformation on the drives 13A to 13E.

Each of the drives 13A to 13E reads data stored in a mounted physicaltape (a storage medium which is hereinafter referred to as a cartridge)to transfer the read data to the host 2, and writes data transferredfrom the host 2 into the cartridge. Further, the drives 13A to 13E arerespectively loaded to the load ports 131A to 131E in a manner of beingvertically stacked. Thus, the drives 13A to 13E can be respectivelyremoved from the load ports 131A to 131E, so as to be replaced. Notethat when the drives 13A to 13E are described without beingdiscriminated from each other, each of the drives 13A to 13E isgenerally referred to as a drive 13. Further, in an embodiment, fivedrives 13 are provided, but the number of the drives 13 is not limitedto five. Any number of drives may be provided without problem.

The drives 13A to 13E can be inserted into the load ports 131A to 131E.Note that when the load ports 131A to 131E are described without beingdiscriminated from each other, each of the load ports 131A to 131E isgenerally referred to as a load port 131. Further, an opening is formedwhen the drive 13 is removed from the load port 131, and the openingallows the space of the load port 131 to communicate with the space inwhich the upper stage robot 15A and the lower stage robot 15B areoperated. The opening can be closed in such a manner that the upperstage robot 15A or the lower stage robot 15B is moved so as to close theload port 131.

The upper stage robot control section 14A controls the drive of theupper stage robot 15A on the basis of an instruction from the librarycontrol section 11, while the lower stage robot control section 14Bcontrols the drive of the lower stage robot 15B on the basis of aninstruction from the library control section 11. Note that when theupper stage robot control section 14A and the lower stage robot controlsection 14B are described without being discriminated from each other,each of the upper and lower stage robot control sections is generallyreferred to as a robot control section 14.

The upper stage robot 15A is a device installed in the upper stage, andhas an upper stage hand 151A (horizontal movement section) and an upperstage arm 152A (vertical movement section). The upper stage hand 151Ahas a mechanism for horizontal and rotational drive, and for graspingthe cartridge stored in the cell 16, while the upper stage arm 152A hasa mechanism for vertical drive. Further, according to an instructionfrom the upper stage robot control section 14A, the upper stage robot15A mounts the cartridge to the drive 13 and dismounts the cartridgemounted in the drive 13. The lower stage robot 15B is a device installedin the lower stage, and has a lower stage hand 151B (horizontal movementsection) and a lower stage arm 152B (vertical movement section). Here,the lower stage hand 151B and the lower stage arm 152B are respectivelythe same mechanisms as the upper stage hand 151A and the upper stage arm152A, and hence the explanation thereof is omitted. The lower stagerobot 15B also performs the same operations as the upper stage robot 15Adescribed above, according to an instruction from the lower stage robotcontrol section 14B.

The cell 16 is a storage place where each of the plurality of cartridgesis separately stored. The upper stage standby cell 16A and the lowerstage standby cell 16B are places where a cartridge is temporarilystored at the time when the cartridge cannot be returned to the originalplace. Note that the upper stage standby cell 16A is a place exclusivelyused by the upper stage robot 15A, while the lower stage standby cell16B is a place exclusively used by the lower stage robot 15B. The upperstage standby cell 16A and the lower stage standby cell 16B are enabledto be independently operated. Further, the place in the cell 16, inwhich place the cartridge is stored, and the kind of the cartridgestored at the place in the cell are managed by the library controlsection 11.

FIG. 2 is a diagram illustrating an example of function blocks of thelibrary control section according to an embodiment. As illustrated inFIG. 2, the library control section 11 includes a detection section 101(a replacement detection section, a reception section), a determinationsection 102 (a first determination section, a second determinationsection, a third determination section, a fourth determination section,a fifth determination section, a sixth determination section, a seventhdetermination section), a drive section 103 (a movement section, aswitch section), and an execution section 104 (an instruction executionsection).

The detection section 101 detects removal and attachment of the drive13, and receives an instruction from the host 2. When it is detected bythe detection section 101 that one of the drives 13 is removed, thedetermination section 102, the drive section 103, and the executionsection 104 perform maintenance processing as is described in detailbelow.

From the position of the load port 131 with the drive 13 removedtherefrom, the determination section 102 determines the load port 131 towhich the removed drive 13 was loaded. Further, when receiving a dataread instruction or a data write instruction from the host 2 in a statewhere one of the drives 13 is removed, the determination section 102determines whether or not the cartridge and the drive 13, which has theread/write area for the data read instruction or a data writeinstruction from the host 2, are in the data read/write enable state.

The drive section 103 instructs the robot control section 14 to drivethe upper stage robot 15A and the lower stage robot 15B, or to set theupper stage robot 15A and the lower stage robot 15B in a standby state.

The execution section 104 responds to the instruction from the host 2.Further, when receiving from the host 2 an instruction to access theremoved drive 13, the execution section 104 adds the instruction to atable having a queue structure (storage area, and hereinafter referredto as queuing table). Note that when more than a predetermined time haselapsed after the addition of the instruction received from the host 2to the queuing table, the drive section 103 performs robot switchprocessing. The details of the robot switch processing are described indetail below.

FIG. 3 is a block diagram illustrating an example of a configuration ofa library control section according to an embodiment. As illustrated inFIG. 3, the library control section 11 includes a CPU (CentralProcessing Unit) 111 and a memory 112. Each of the function blocksdescribed above can be realized in such a manner that the CPU 111performs an arithmetic operation by reading a program stored in thememory 112.

Next, an operation of the tape library apparatus according to anembodiment will be described.

FIG. 4 is a flow chart illustrating an example of an operation ofmaintenance processing in the tape library apparatus according to anembodiment. First, when one of the drives 13 is removed from the loadport 131 by the operator, the detection section 101 detects that one ofthe drives 13 is removed (S101). After the detection, the determinationsection 102 determines whether or not the drive 13 which is removed(hereinafter referred to as removed drive) is a drive that is at acenter position among the drives 13A to 13E, referred to as a centraldrive.

When determining that the removed drive is not the central drive of thedrives 13A to 13E (S102, NO), the determination section 102 determineswhether or not the removed drive is a drive loaded at a position lowerthan the central drive of the drives 13A to 13E (S103). When it isdetermined that the removed drive is a drive loaded at a position lowerthan the central drive of the drives 13A to 13E (S103, YES), the lowerstage robot 15B is moved and set in the standby state by the drivesection 103 so as to close the load port 131 of the removed drive(S104), and the processing flow is ended.

On the other hand, when it is determined that the removed drive is not adrive loaded at a position lower than the central drive of the drives13A to 13E (S103, NO), the upper stage robot 15A is moved and set in thestandby state by the drive section 103 so as to close the load port 131of the removed drive (S105), and the processing flow is ended.

When it is determined that the removed drive is the drive 13C loaded asthe central drive of the drives 13A to 13E (S102, YES), thedetermination section 102 determines in which of the upper and lowerstages of the cell 16 with respect to the load port 131 of the removeddrive, the number of stored effective cartridges is larger (S106). Notethat information indicating at which position of the cell 16 a cartridgeis stored is held in the memory 112, and the determination section 102performs the determination on the basis of the cartridge positioninformation. When it is determined that more effective cartridges arestored in the upper stage of the cell 16 (S106, upper stage), the lowerstage robot 15B is moved and set in the standby state by the drivesection 103 so as to close the load port 131 of the removed drive(S107), and the processing flow is ended.

When it is determined that more effective cartridges are stored in thelower stage of the cell 16 (S106, lower stage), the upper stage robot15A is moved and set in the standby state by the drive section 103 so asto close the load port 131 of the removed drive (S108), and theprocessing flow is ended.

Next, there will be described an operation of the tape library apparatusaccording to an embodiment in the case where the tape library apparatusreceives from the host 2 mount and dismount instructions, and the like,which include access to the drive 13 and the cell 16, during themaintenance processing of the tape library apparatus. Here, it isassumed that the removed drive in an embodiment is the drive 13B, andfirst, a configuration of the tape library apparatus performing themaintenance processing is described in detail below.

FIG. 5 is a block diagram illustrating an example of a configuration ofthe tape library apparatus during a maintenance processing according toan embodiment. Note that the same reference numerals and characters asthose in FIG. 1 denote the same or equivalent portions, and theduplicating explanation thereof is omitted. As illustrated in FIG. 5,since the drive 13B is to be replaced in an embodiment, the drive 13B isremoved from the load port 131B, and the load port 131B is closed by theupper stage robot 15A. Note that since the load port 131B of the drive13B is closed by the upper stage robot 15A set in the standby state, thedrive 13A and the region in the cell 16, which region is denoted byreference numeral 17, are set as an inaccessible region to which thelower stage robot 15B cannot be moved.

FIG. 6 is a flow chart illustrating an example of an operation forprocessing an instruction from the host in the tape library apparatusduring the maintenance processing according to an embodiment. First,when an instruction including conveyance of a cartridge to the drive 13and the cell 16 is received by the detection section 101 from the host2, the determination section 102 determines whether or not the receivedinstruction can be executed during the maintenance processing (S201).That is, the determination section 102 determines whether or not thereceived instruction is an instruction to access the drives 13C to 13Eand the cell 16 which are in the region accessible by the lower stagehand 151B of the lower stage robot 15B that is not set in the standbystate.

When the received instruction is not an instruction which can beexecuted during the maintenance processing (S201, NO), the determinationsection 102 determines whether or not the received instruction is aninstruction according to which “From” can be accessed by the lower stagehand 151B, and according to which “To” cannot be accessed by the lowerstage hand 151B (S202). Here, “From” is an object to be accessed by thelower stage hand 151B, and designates the drive 13 or the cell 16 as theconveyance origin of the cartridge. Further, “To” is an object to beaccessed by the lower stage hand 151B, and designates the drive 13 orthe cell 16 as the conveyance destination of the cartridge. That is, thedetermination section 102 determines whether or not the receivedinstruction is an instruction to convey the cartridge from the cell 16or the drives 13C to 13E which are in the region accessible by the lowerstage hand 151B to the cell 16 or the drives 13C to 13E which are in theregion inaccessible by the lower stage hand 151B.

When the received instruction is not the instruction according to which“From” can be accessed by the lower stage hand 151B, and according towhich “To” cannot be accessed by the lower stage hand 151B (S202, NO),the execution section 104 transmits to the host 2 a response to acceptthe received instruction (S203). After the transmission of the response,the execution section 104 adds the received instruction to the queuingtable (S204). After the addition of the received instruction, thedetermination section 102 determines whether or not a predetermined timehas elapsed from the addition of the instruction received from the host2 to the queuing table (S205). Note that the predetermined time is setto 30 minutes in an embodiment, but the predetermined time can besuitably set.

When it is determined that the predetermined time has elapsed from theaddition of the instruction received from the host 2 to the queuingtable (S205, YES), the drive section 103 positions the lower stage robot15B near the upper stage robot 15A which is set in the standby state.After the positioning, the drive section 103 moves upward the upperstage robot 15A, and also moves upward the lower stage robot 15B inlinkage with the movement of the upper stage robot 15A. Thereby, thedrive section 103 switches the robot to be set in the standby state fromthe upper stage robot 15A to the lower stage robot 15B while maintainingthe closed state of the load port 131B (S206). After the switching, thedrive section 103 executes the instruction in the Queuing table in theorder of earlier time (S207), and the processing flow is ended.

Further, when the predetermined time has not elapsed from the additionof the instruction received from the host 2 to the Queuing table (S205,NO), the processing flow is ended. Further, in the case where thereceived instruction is an instruction according to which “From” can beaccessed by the lower stage hand 151B, and according to which “To”cannot be accessed by the lower stage hand 151B (S202, YES), thedetermination section 102 determines whether or not “From” is the drive13 (S208). When “From” is the drive 13 (S208, YES), the drive section103 stores, in the lower stage standby cell 16B, the cartridge mountedto the object drive (one of the drives 13C to 13E in an embodiment) ofthe received instruction (S209), and the processing flow is ended.

Further, when “From” is not the drive 13 (S208, NO), the executionsection 104 determines that “From” is the cell 16, and transmits to thehost 2 a response to reject the received instruction (S210). After theresponse of rejection, the execution section 104 instructs the host 2 toselect one of the drives 13C to 13E located in the region accessible bythe lower stage hand 151B (S211), and the processing flow is ended.

Further, when the received instruction is an instruction which can beexecuted during the maintenance processing (S201, YES), the drivesection 103 performs access to the drive 13 and the cell 16 andconveyance of the cartridge according to the received instruction(S212), and the processing flow is ended.

FIG. 7 is a diagram illustrating an example of a sequence from the startto the end of the maintenance processing performed between the operator,the host, and the tape library apparatus. As illustrated in FIG. 7, whenan operator 3 removes one of the drives 13 (S301), the tape libraryapparatus 1 performs the maintenance processing described above (S302).After the maintenance processing, when receiving from the host 2 a mountinstruction according to which the cell 16 can be accessed but the drive13 cannot be accessed (S303), the tape library apparatus 1 transmits tothe host 2 a response to reject the received instruction. That is, whenreceiving the instruction determined as NO in operation S208 in FIG. 6,the tape library apparatus 1 transmits to the host 2 the response toreject the received instruction (S210). Note that the operationsubsequent to operation S210 is described above, and hence thedescription thereof is omitted here.

Further, when receiving from the host 2 an instruction according towhich both “From” and “To” cannot be accessed (S304), the tape libraryapparatus 1 transmits to the host 2 to accept the received instructionand adds the received instruction to the Queuing table (S204). That is,when receiving the instruction determined as NO in operation S202 inFIG. 6, the tape library apparatus 1 transmits to the host 2 to acceptthe received instruction and adds the received instruction to theQueuing table (S204). Note that the operation subsequent to operationS204 is described in the above, and hence the description thereof isomitted here.

Further, when receiving from the host 2 a dismount instruction accordingto which the drive 13 can be accessed but the cell 16 cannot be accessed(S305), the tape library apparatus 1 moves the cartridge mounted to thedrive 13 to the lower stage standby cell 16B (S209). That is, whenreceiving the instruction determined as YES in operation S208 in FIG. 6,the tape library apparatus 1 moves the cartridge mounted to the drive 13to the lower stage standby cell 16B (S209).

After completing the instruction from the host 2 as described above, theexecution section 104 transmits a completion response (S306). Next, whena replacement drive, with which the drive 13B is to be replaced, isinserted into the load port 131B from which the drive 13B was removed bythe operator 3 (S307), the detection section 101 detects that the driveis replaced (S308). After the detection, the drive section 103 operatesthe upper stage robot 15A which is set in the standby state. When thereare cartridges stored in the lower stage standby cell 16B, the drivesection 103 successively stores the cartridges in the original places inthe cell 16, and the processing sequence is ended.

Here, when the cell 16 to be accessed is on the same straight line asthe horizontal axis of the upper stage hand 151A of the upper stagerobot 15A set in the standby state, the upper stage hand 151A may bebrought into contact with the lower stage hand 151B. Therefore, the tapelibrary apparatus 1 performs drive processing at the time of driving therobot 15. Next, the drive processing will be described with reference toFIGS. 8 to 10.

FIG. 8 is a diagram representing position coordinates of the hands ofthe robots in the tape library apparatus according to an embodiment. Asillustrated in FIG. 8, the coordinates of the upper stage hand 151A arerepresented by (Ux, Uy), and the coordinates of the lower stage hand151B are represented (Lx, Ly). Also, the coordinates of the object cell16C to be accessed are represented by (Cx, Cy).

FIG. 9 is a flow chart illustrating an example of an operation of driveprocessing in the tape library apparatus during the maintenanceprocessing according to an embodiment. As illustrated in FIG. 9, first,the determination section 102 determines whether or not Cy=Uy (S401).When it is determined that Cy=Uy (S401, YES), the drive section 103moves the lower stage hand 151B to the coordinate position of Cx (S402),and then moves the lower stage arm 152B so as to set the lower stagehand 151B at the coordinate position of Cy (S403), and the processingflow is ended. Note that in an embodiment, the upper stage robot 15A isset in the standby state, and hence the determination section 102determines whether or not Cy=Uy. However, when the lower stage robot 15Bis set in the standby state, the determination section 102 determineswhether or not Cy=Ly.

Further, except when Cy=Uy (S401, NO), the drive section 103simultaneously moves the lower stage hand 151B and the lower stage arm152B (S404), and the processing flow is ended. Note that it isconfigured such that the lower stage hand 151B and the lower stage arm152B are moved simultaneously, but it may also be configured such thatthe lower stage hand 151B is moved after the movement of the lower stagearm 152B. Further, it may also be configured such that the lower stagearm 152B is moved after the movement of the lower stage hand 151B.

FIG. 10 is a diagram illustrating a state where a cell to be accessed ison the same straight line as the horizontal axis of the hand of thestandby robot in the tape library apparatus during the maintenanceprocessing according to an embodiment. Note that the same referencenumerals and characters as those in FIG. 1 denote the same or equivalentportions, and the duplicating explanation thereof is omitted. Asillustrated in FIG. 10, when the vertical axis coordinate value Uy ofthe upper stage hand 151A of the upper stage robot 15A set in thestandby state is the same as the vertical axis coordinate value Cy ofthe cell 16C to be accessed, the drive section 103 performs the driveprocessing of the two operations of operation S402 and operation 403described above. When the drive section 103 performs the driveprocessing of the two operations, the contact between the upper stagehand 151A and the lower stage hand 151B can be avoided.

Further, in an embodiment, it is configured such that when Cy=Uy, thedrive processing of the two operations is performed. However, it mayalso be configured such that a predetermined threshold value is set forCy and/or Uy, and that when the value of Cy and/or Uy is within thethreshold value, the drive processing of the two operation describedabove is performed.

Further, in an embodiment, it is configured such that, when thedetection section 101 detects that one of the drives 13 is removed, andwhen it is determined that the drive 13 is to be replaced, the robot 15is moved to the load port 131 of the drive 13. However, it may also beconfigured such that by an operation by the operator 3 from the host 2or the operator panel 12, the detection section 101 is made to determinethe start of the replacement operation of the drive 13 and the robot 15is made to be moved. Further, the present invention can be applied notonly to the replacement of the drive 13, but also to all devicesadjacent to the operation area of the robot 15 which, in operation, maybe brought into contact with the operator in the case where maintenancework, such as replacement work, is performed.

According to an embodiment, the replacement of the drive 13 is detected,and the robot 15 is moved to the load port 131 so as to close theopening formed by the removal of the drive 13 from the load port 131.The robot is set in the standby state so as to close the opening untilthe completion of the replacement is detected. Thereby, the contactbetween the operator 3 and the robot 15 in operation can be prevented.Therefore, it is not necessary to stop the robot 15, and hence it ispossible to set the robot 15 in an active state. Even during themaintenance work, such as drive replacement, it is possible to performthe mount and dismount processing, and the like, on the basis of theinstruction from the host 2.

The present invention can be carried out in other various forms withoutdeparting from the spirit or scope of the present invention. Therefore,the above describe embodiment is only an example at all points andshould not be interpreted restrictively.

The present invention can be applied in a computer system as will bedescribed below. FIG. 11 is a diagram illustrating an example of acomputer system to which the present invention is applied. A computersystem 920 illustrated in FIG. 11 includes a main body section 901 inwhich a CPU, a disk drive, and the like, are incorporated, a display 902which displays an image on the basis of an instruction from the mainbody section 901, a keyboard 903 which is used to input variousinformation into the computer system 920, a mouse 904 which specifies anarbitrary position on a display screen 902 a of the display 902, and acommunication apparatus 905 which accesses an external database, and thelike, to download a program, and the like, stored in the other computersystem. A network communication card, a modem, and the like, areconceivable as the communication apparatus 905. Note that the computersystem 920 corresponds to the library control section 11 in anembodiment.

A program, which enables each of the above described operations to beperformed in the computer system configuring the tape library apparatus1 as described above, can be provided as a maintenance program of thetape library apparatus 1. By storing the program in a recording mediumwhich can be read by the computer system, the program can be executed bythe computer system configuring the tape library apparatus 1. Theprogram which enables each of the above described operations to beperformed is stored in a portable type recording medium, such as a disk910, or downloaded from a recording medium 906 of the other computersystem via the communication apparatus 905. Further, a maintenanceprogram of the tape library apparatus 1 (maintenance software of thetape library apparatus 1), which provides at least a maintenancefunction of the tape library apparatus 1 to the computer system 920, isinputted into and compiled by the computer system 920. The program makesthe computer system 920 function as the tape library apparatus 1 havingthe maintenance function of the tape library apparatus 1.

Further, the program may also be stored in a computer readable recordingmedium such as, for example, the disk 910. Here, the recording mediumwhich can be read by the computer system 920 includes an internalstorage apparatus, such as a ROM and RAM, which is internally mounted inthe computer, portable type storage media, such as the disk 910, aflexible disk, a DVD disk, a magneto-optical disk, and an IC card, and adatabase storing a computer program, or includes the other computersystem, the database of the other computer system, and various recordingmedia which can be accessed by the computer system connected viacommunication means, such as the communication apparatus 905.

FIG. 12 is a diagram illustrating an example of a hardware configurationof the main body section 901 in the computer system 920. The main bodysection 901 includes a CPU 951, a memory 952, a disk drive 953 whichreads and writes data from and to a portable type recording medium, suchas the disk 910, and an HDD (Hard disk drive) 954 which is nonvolatilestorage means. Each of the above described function sections is realizedin such a manner that the program stored beforehand in the nonvolatilestorage means such as, for example, the HDD 954 and the disk 910,cooperates with the hardware resources, such as the CPU 951 and thememory 952.

According to the storage apparatus, the maintenance method of thestorage apparatus, and the maintenance program of the storage apparatus,as herein disclosed, it is possible, in the case of maintenance work inwhich an operator may be brought into contact with a robot in operation,to prevent the contact (a conflict) between the operator and the robotin operation while maintaining the robot in an active state.

According to an embodiment, a method of controlling an apparatus isprovided that includes determining a position of one of drives of astorage with respect to which a maintenance processing has started andcontrolling a closure of an opening of said one of drives caused duringthe maintenance processing based on the determining to thereby enableaccess to a remaining of said drives of the storage.

The embodiments can be implemented in computing hardware (computingapparatus) and/or software, such as (in a non-limiting example) anycomputer that can store, retrieve, process and/or output data and/orcommunicate with other computers. The results produced can be displayedon a display of the computing hardware. A program/software implementingthe embodiments may be recorded on computer-readable media comprisingcomputer-readable recording media. The program/software implementing theembodiments may also be transmitted over transmission communicationmedia. Examples of the computer-readable recording media include amagnetic recording apparatus, an optical disk, a magneto-optical disk,and/or a semiconductor memory (for example, RAM, ROM, etc.). Examples ofthe magnetic recording apparatus include a hard disk device (HDD), aflexible disk (FD), and a magnetic tape (MT). Examples of the opticaldisk include a DVD (Digital Versatile Disc), a DVD-RAM, a CD-ROM(Compact Disc-Read Only Memory), and a CD-R (Recordable)/RW. An exampleof communication media includes a carrier-wave signal.

Further, according to an aspect of the embodiments, any combinations ofthe described features, functions and/or operations can be provided.

All examples and conditional language recited herein are intended forpedagogical purposes to aid the reader in understanding the inventionand the concepts contributed by the inventor to furthering the art, andare to be construed as being without limitation to such specificallyrecited examples and conditions, nor does the organization of suchexamples in the specification relate to a showing of the superiority andinferiority of the invention. Although the embodiments of the presentinvention have been described in detail, it should be understood thatthe various changes, substitutions, and alterations could be made heretowithout departing from the spirit and scope of the invention, the scopeof which is defined in the claims and their equivalents.

1. A storage apparatus, comprising: at least one device insertionsection into which a device can be inserted; at least one robot whichhas a moving mechanism; a replacement detection section which detects astart of a replacement of the device; a first determination sectionwhich determines a position of the device insertion section at which thedevice is replaced, when detecting that the replacement of the device isstarted; and a movement section which moves the robot so as to close anopening formed by a removal of the device from the device insertionsection, based on the determination result of the first determinationsection.
 2. The storage apparatus according to claim 1, wherein thereplacement detection section detects the start of the replacement ofthe device by the removal of the device from the device insertionsection.
 3. The storage apparatus according to claim 1, wherein thestorage apparatus comprises a plurality of robots, and the movementsection selects a robot positioned in a vicinity of the device insertionsection at which the device is replaced from the plurality of robots,based on the determination result of the first determination section. 4.The control apparatus according to claim 3, comprising: a plurality ofstorage media which can be accessed by the plurality of robots, forstoring data; a plurality of storage sections which can store thestorage media; and a second determination section which determines whichof the robots is to be moved to close the opening so as a number of thestorage media accessible by the other robot other than the robot movedto close the opening becomes larger, when determining by the firstdetermination section that the device insertion section with the deviceto be replaced is located in a middle of the plurality of robots, andwherein the movement section moves the robot based on the determinationresult of the second determination section, when determining by thefirst determination section that the device insertion section with thedevice to be replaced is located in the middle of the plurality ofrobots.
 5. The control apparatus according to claim 4, comprising: areception section which receives an instruction from a host; a thirddetermination section which determines whether the instruction is aninstruction according to which the other drive other than the drive tobe replaced and the storage medium can be accessed by the other robotother than the robot moved to close the opening, when an instruction toconvey the storage medium from the storage section to the drive or aninstruction to convey the storage medium from the drive to the storagesection is received by the reception section in a state where the robotis moved by the movement section so as to close the opening; and aninstruction execution section which executes the instruction, whendetermining by the third determination section that the instruction isan instruction according to which the other drive and the storage mediumcan be accessed by the other robot, wherein the device is a drive to andfrom which the storage medium can be mounted and dismounted.
 6. Thecontrol apparatus according to claim 5, comprising a fourthdetermination section which determines whether the instruction is aninstruction according to which a conveyance origin of the storage mediumcan be accessed by the other robot, and according to which a conveyancedestination of the storage medium cannot be accessed by the other robot,when determining by the third determination section that the instructionis an instruction according to which the other drive and the storagemedium cannot be accessed by the other robot, wherein, the instructionexecution section transmits to the host a response to accept theinstruction, and adds the information of the instruction to a storagearea in which the information can be stored, when determining by thefourth determination section that the instruction is not an instructionaccording to which the conveyance origin of the storage medium can beaccessed by the other robot and to which the conveyance destination ofthe storage medium cannot be accessed by the other robot.
 7. The controlapparatus according to claim 6, comprising: a fifth determinationsection which determines whether a predetermined time has elapsed fromwhen the information of the instruction was added by the executionsection; and a switch section which switches the robot moved so as toclose the opening to the other robot, when determining by the fifthdetermination section that the predetermined time has elapsed from theaddition of the information of the instruction, wherein the instructionexecution section executes the instruction for which the predeterminedtime has elapsed after the robot moved so as to close the opening isswitched to the other robot.
 8. The control apparatus according to claim6, comprising a sixth determination section which determines whether theinstruction is an instruction in which the conveyance destination of thestorage medium is the other drive, when determining by the fourthdetermination section that the instruction is an instruction accordingto which the conveyance origin of the storage medium can be accessed bythe other robot and according to which the conveyance destination of thestorage medium cannot be accessed by the other robot, wherein theinstruction execution section conveys the storage medium to a standbyplace, when determining by the sixth determination section that theinstruction is an instruction in which the conveyance destination of thestorage medium is the other drive, and when the storage medium cannot bereturned from the other drive to the original position of the storagemedium in the storage section.
 9. The control apparatus according toclaim 8, wherein the instruction execution section transmits to the hosta response to accept the instruction, and instructs to set as theconveyance destination the drive which can be accessed by the otherrobot, when determining by the sixth determination section that theinstruction is an instruction in which the conveyance origin of thestorage medium is not the other drive but is the storage medium.
 10. Thecontrol apparatus according to claim 5, comprising: a seventhdetermination section which determines the position of the storagemedium that is accessed by the other robot, wherein the robot has avertical movement section which performs vertical movement, and ahorizontal movement section which performs horizontal movement and whichcan grasp the storage medium, and the movement section moves thehorizontal movement section of the other robot onto the same straightline as the vertical axis of the storage medium, and moves the verticalmovement section of the other robot onto the same straight line as thehorizontal axis of the storage medium, when determining by the seventhdetermination section that the position of the storage medium accessedby the other robot is on the same straight line as the horizontal axisof the horizontal movement section of the robot moved so as to close theopening.
 11. The control apparatus according to claim 1, wherein thereplacement detection section detects completion of the replacement ofthe device, and the movement section makes the closed state of theopening maintained by the robot until determining by the replacementdetection section that the replacement of the device is completed. 12.The control apparatus according to claim 11, wherein the replacementdetection section detects the completion of the replacement of thedevice by the insertion of the device into the device insertion section.13. A maintenance method of a storage apparatus, the method comprising:detecting a start of a replacement of a device; determining a positionof at least one device insertion section into which the device can beinserted in order to replace the device, when the start of thereplacement of the device is detected; and moving at least one robothaving a moving mechanism so as to close an opening formed by a removalof a device from the device insertion section, based on thedetermination result of the position of the device insertion section.14. The method according to claim 13, wherein the start of thereplacement of the device can be detected by the removal of the devicefrom the device insertion section.
 15. The method according to claim 13,wherein when the start of the replacement of the device is detected, arobot positioned in a vicinity of the device insertion section, at whichthe device is replaced, is selected from the plurality of robots basedon the determination result of the position of at least one deviceinsertion section into which the device can be inserted, and theselected robot is moved to replace the device.
 16. The method accordingto claim 14, comprising determining which of the robots is to be movedto close the opening so as a number of the storage media accessible bythe other robot other than the robot moved to close the opening becomeslarger, when determining that the device insertion section at which thedevice is to be replaced is positioned in the middle of the plurality ofrobots, wherein the robot is moved based on the determination result.17. A computer-readable recording medium encoded with a storageapparatus maintenance program containing instructions executable on acomputer, the program causing the computer to execute an operation,comprising: detecting a start of a replacement of a device; determininga position of at least one device insertion section into which thedevice can be inserted in order to replace the device, when the start ofthe replacement of the device is detected; and moving at least one robothaving a moving mechanism so as to close an opening formed by a removalof the device from the device insertion section, based on thedetermination result.
 18. The computer-readable recording mediumaccording to claim 17, wherein the start of replacement of the devicecan be detected by the removal of the device from the device insertionsection.
 19. The computer-readable recording medium according to claim17, wherein when the start of replacement of the device is detected, arobot positioned in a vicinity of the device insertion section, at whichthe device is replaced, is selected from the plurality of robots basedon the determination result of the position of at least one deviceinsertion section into which the device can be inserted, and theselected robot is moved to replace the device.
 20. A method ofcontrolling an apparatus, comprising: determining a position of one ofdrives of a storage with respect to which a maintenance processing hasstarted; and controlling a closure of an opening of said one of drivescaused during the maintenance processing based on said determining toenable access to a remaining of said drives of the storage.